package com.vhall.component.entity.lottery.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;

import java.util.List;


/**
 * 发起抽奖 V4组件响应vo
 *
 * @author shenghua.luo
 */
@Data
public class LotteryV4AddRspVO {

    /**
     * PaaS应用ID
     */
    @ParamName("app_id")
    @JsonProperty("app_id")
    private String appId;

    /**
     * lottery_id
     */
    @JsonProperty("id")
    private Long id;

    /**
     * 来源ID
     */
    @ParamName("source_id")
    @JsonProperty("source_id")
    private String sourceId;

    /**
     * 创建者昵称
     */
    @ParamName("creator_nickname")
    @JsonProperty("creator_nickname")
    private String creatorNickname;

    /**
     * 创建者头像
     */
    @ParamName("creator_avatar")
    @JsonProperty("creator_avatar")
    private String creatorAvatar;

    /**
     * 参与抽奖人员范围：
     * 1 全体参会用户
     * 2 参与问卷的参会者
     * 3 参与签到的参会者
     * 4.全体观众
     * 5.已登录观众
     * 6.参与问卷的观众
     * 7.参与签到的观众
     */
    @ParamName("lottery_type")
    @JsonProperty("lottery_type")
    private Integer lotteryType;

    /**
     * 中奖人数
     */
    @ParamName("lottery_number")
    @JsonProperty("lottery_number")
    private Integer lotteryNumber;

    /**
     * 平台标识
     */
    private Integer bu;

    /**
     * 抽奖创建者ID
     */
    @ParamName("creator_id")
    @JsonProperty("creator_id")
    private String creatorId;

    /**
     * 中奖者用户名单集合数组
     */
    @ParamName("lottery_users")
    @JsonProperty("lottery_users")
    private List<ActualLotteryUser> lotteryUsers;


    /**
     * 实际中奖
     */
    @Data
    public static class ActualLotteryUser {

        /**
         * 中奖用户ID
         */
        @ParamName("lottery_user_id")
        @JsonProperty("lottery_user_id")
        private String lotteryUserId;

        /**
         * 中奖用户昵称
         */
        @ParamName("lottery_nick_name")
        @JsonProperty("lottery_nick_name")
        private String lotteryNickName;

        /**
         * 中奖用户头像
         */
        @ParamName("lottery_avatar")
        @JsonProperty("lottery_avatar")
        private String lotteryAvatar;

        /**
         * 是否为预设中奖者 0 否 1 是，默认为0
         */
        @ParamName("preset")
        @JsonProperty("preset")
        private Integer preset;


    }

}
